- CloudWatch provides metrics for every service in AWS.
 
- Dimension is an attribute (instance id, env, etc.) of a metric (30 dimensions per metric)
 
- Metrics hae timestams.
 
- Can create CloudWatch dashboards of metrics.
 
Metric Streams

Logs
- Log Groups, Log Stream
 
- Can define expiration policies.
 
- Encryption by default
 
- Can setup KMS based encryption with own keys.
 
Sources
- SDK, Elastic Beanstalk
 
- ECS, AWS Lambda, PC Flow Logs, API Gateway, Route 53
 
Logs Subscriptions

Logs for EC2
- By default no logs go from EC2 to CloudWatch.
 
- Need to run CloudWatch agent to push log files.
 
- Make sure IAM permissions are correct.
 

Agent
- CloudWatch Logs Agent: Only send to CloudWatch Logs
 
- CloudWatch Unified Agent: Collection additional system-level metrics such as RAM, processes etc.
 
Alarms
- Trigger notification for any metric.
 
- Alarm States: 
OK, INSUFFICIENT_DATA, ALARM 
Targets
- Actions on EC2 instances, Auto Scaling Action, Send notification to SNS.
 
Composite Alarms
- Monitoring states of multiple other alarms.
 

CloudWatch Container Insights
- ECS, EKS, Kubernetes on EC2, Fargate, needs agent for Kubernetes.
 
- Metrics and logs
 
CloudWatch Lambda Insights
- Detailed metrics to troubleshoot serverless applications
 
CloudWatch Contributors Insights
- Find “Top-N” Contributors through CloudWatch Logs
 
CloudWatch Application Insights
- Automatic dashboard to troubleshoot your application and related AWS service.